﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace SisEagleBO
{
    public partial class ControleEstoqueBO
    {

        public string PegaQuantidadeEstoqueProduto(string _cod_produto)
        {
            string qtd = null;
            if (_cod_produto.Length > 0)
            {

                SqlDataReader dados = null;

                objDO = new SisEagleDO.SisEagleDO();
                string strSql = " SELECT Quantidade FROM ControleEstoque WHERE CodProduto =  " + _cod_produto;
                dados = objDO.QueryConsulta(strSql);

                if (dados.HasRows)
                {
                    dados.Read();

                    qtd = dados["Quantidade"].ToString();

                }
                else
                {
                    qtd = "0";
                }
            }

            return qtd;
        }

        public void AtualizaEstoqueProduto(string _cod_produto, int _nova_quantidade)
        {

            if ((_cod_produto.Length > 0) && (_nova_quantidade > 0))
            {

                int reg = 0;

                objDO = new SisEagleDO.SisEagleDO();
                string strSql = " UPDATE ControleEstoque SET Quantidade = " + _nova_quantidade + " WHERE CodProduto =  " + _cod_produto;
                reg = objDO.ExecutaQuery(strSql);

            }


        }
        /// <summary>
        /// Seleciona todos os com a quantidade minima no limite
        /// </summary>
        /// <returns>DataSet</returns>
        public DataSet FindProdutosQuantidaeMinima()
        {
            try
            {
                strSql = new StringBuilder();

                strSql.Append(" SELECT P.CodProduto,P.NomeProduto, C.QuantidadeMinima ");
                strSql.Append(" FROM dbo.Produtos AS P ");
                strSql.Append(" JOIN dbo.ControleEstoque AS C ");
                strSql.Append(" ON P.CodProduto = C.CodProduto ");
                strSql.Append(" WHERE c.Quantidade = c.QuantidadeMinima");



                objDO = new SisEagleDO.SisEagleDO();

                // executa consulta e retorna um DataSet
                return objDO.GetDataSet(strSql.ToString(), "ControleEstoque");
            }
            catch (Exception er)
            {
                throw new Exception("Aconteceu um erro:" + er.Message.ToString());
            }
            finally
            {
                strSql = null;
            }
        }
    }
}
